import { defineStore } from "pinia";
import request from "../../utils/request";
import type {
  BannerItem,
  ApiRes,
  GoodItem,
  HotGoods,
  Brand,
  HomeProduct,
  Special,
} from "../../types/data";

export default defineStore("home", {
  state() {
    return {
      bannerList: [] as BannerItem[],
      newGoodList: [] as GoodItem[],
      hotGoodList: [] as HotGoods[],
      brandList: [] as Brand[],
      productList: [] as HomeProduct[],
      specialList: [] as Special[],
    };
  },
  actions: {
    async getBannerList() {
      const res = await request.get<ApiRes<BannerItem[]>>("/home/banner");
      this.bannerList = res.data.result;
    },
    async getNewList() {
      const res = await request.get<ApiRes<GoodItem[]>>("/home/new");
      this.newGoodList = res.data.result;
    },
    async getHotList() {
      const res = await request.get<ApiRes<HotGoods[]>>("/home/hot");
      this.hotGoodList = res.data.result;
    },
    async getBrandList() {
      const res = await request.get<ApiRes<Brand[]>>("/home/brand");
      console.log(res);
      this.brandList = res.data.result;
    },
    async getProductList() {
      const res = await request.get<ApiRes<HomeProduct[]>>("/home/goods");
      this.productList = res.data.result;
    },
    async getSpecialList() {
      const res = await request.get<ApiRes<Special[]>>("/home/special");
      this.specialList = res.data.result;
    },
  },
});
